package com.hopu.oa.until.data;

import org.springframework.stereotype.Component;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

@Component
public class DateUtils {

    private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    /**
     * 返回当前时间字符串，格式：yyyy-MM-dd HH:mm:ss
     *
     * @return
     */
    public static String getDateTimeString() {
        return format.format(new Date());
    }

    /**
     * 返回当前时间字符串，格式自定义
     *
     * @param format
     * @return
     */
    public static String getDateTimeString(String format) {
        return new SimpleDateFormat(format).format(new Date());
    }


    /*
      @Description : 返回两个时间之间的天数
      @Date   :  2021/11/23
      @Param  : [a, b]
      @return : java.lang.Long
     */
    public static Long between_days(String a, String b) {

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");// 自定义时间格式

        Calendar calendar_a = Calendar.getInstance();// 获取日历对象
        Calendar calendar_b = Calendar.getInstance();

        Date date_a = null;
        Date date_b = null;

        try {
            date_a = simpleDateFormat.parse(a);//字符串转Date
            date_b = simpleDateFormat.parse(b);
            calendar_a.setTime(date_a);// 设置日历
            calendar_b.setTime(date_b);
        } catch (ParseException e) {
            e.printStackTrace();//格式化异常
        }

        long time_a = calendar_a.getTimeInMillis();
        long time_b = calendar_b.getTimeInMillis();

        long between_days = (time_b - time_a) / (1000 * 3600 * 24);//计算相差天数

        return between_days;
    }


}
